Open-closed principle
open closed原則, 開放/閉鎖原則
software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification
拡張に開いていて、修正に閉じるべき
拡張に対して開いて (open) いなければならず、
修正に対して閉じて (closed) いなければならない
という設計上の原則である。
1988年に、バートランド・メイヤーが『オブジェクト指向ソフトウェアの構築(Object Oriented Software Construction)』の中で「開放/閉鎖原則」という語を生み出したと一般に称される。
話としては全然知ってるが、実際にコード書くときに意識したこと無いなmiyamonz.icon
なにか例を使って理解して実用している実感を得ておきたいな
「修正」の主語が曖昧な気がする
モジュールとその利用者、どっちの修正?
どちらのことも指しているように思う
でもそれだと、「修正が必要になったときは、一方のみを直せばいいようにしておこう」ということで、当たり前すぎる
Martin, Robert Cのc++リポートは読んだ
まあそうだねって感じ
c++の例はキモいが…
特に、shapeの並び替えのとこ必要だったか?
たしかに、よく例に挙げられるようなifやswitchが大量になる場合とか、そこらへんはなんとかすべき